package br.com.ack.billcontrol.data;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import br.com.ack.billcontrol.bo.Conta;
import br.com.ack.billcontrol.bo.Pagamento;

public class bancoDados 
{

	private SQLiteDatabase banco; 
	private Sqlite helper; 
 
	public bancoDados(Context context) 
	{
		helper = new Sqlite(context);
		this.banco = helper.getWritableDatabase();
		banco.close();
		helper.close();
	}
	
	public long addConta(Conta obj) 
	{
		long retorno;
		this.banco = helper.getWritableDatabase();
		ContentValues values = new ContentValues();
		
		if (obj.getId_conta() <= 0)
			obj.setId_conta(getContaCount() + 1);
		
		values.put("id_conta", obj.getId_conta());
		values.put("nr_valorconta", obj.getNr_valorconta());
		values.put("dt_vencimentoconta", obj.getNr_valorconta());
		values.put("dt_pagamentoconta", obj.getNr_valorconta());
		values.put("fl_mensal", obj.getNr_valorconta());
		values.put("fl_parecela", obj.getNr_valorconta());
		values.put("nr_parcela", obj.getNr_valorconta());
		retorno = banco.insert("CONTA", null, values);
 		banco.close();
 		helper.close();
		return retorno;
	}
	
	public long addPagamento(Pagamento obj) 
	{
		long retorno;
		this.banco = helper.getWritableDatabase();
		ContentValues values = new ContentValues();
		
		if (obj.getId_pagamento() <= 0)
			obj.setId_pagamento(getPagamentoCount() + 1);
		
		values.put("id_pagamento", obj.getId_pagamento());
		values.put("id_conta", obj.getId_conta());
		values.put("nr_parcelapaga", obj.getNr_parcelapaga());
		values.put("dt_pagamento", obj.getDt_pagamento());
		retorno = banco.insert("CONTA", null, values);
 		banco.close();
 		helper.close();
		return retorno;
	}
	
	public int getContaCount() 
	{
		String countQuery  = "SELECT * FROM CONTA";
		this.banco = helper.getReadableDatabase();
		int retorno; 
		Cursor cursor = banco.rawQuery(countQuery, null);
		retorno =  cursor.getCount();
		cursor.close();
		helper.close();
		banco.close();
		return retorno;
	}
	
	public int getPagamentoCount() 
	{
		String countQuery  = "SELECT * FROM PAGAMENTO";
		this.banco = helper.getReadableDatabase();
		int retorno; 
		Cursor cursor = banco.rawQuery(countQuery, null);
		retorno =  cursor.getCount();
		cursor.close();
		helper.close();
		banco.close();
		return retorno;
	}
	
	//TODO : Amanda  - Montar todos os SQL aqui dentro.
}